Data processing apparatus, computer-readable recording medium, and data processing system

ABSTRACT

A data processing apparatus includes a receiving unit configured to receive an input of user information, a determining unit configured to determine a destination corresponding to the user information, a preparing unit configured to prepare a computer program for enabling an information terminal device to which the computer program is installed to use a data processing function provided by the data processing apparatus and configuration information related to the data processing function, and a transmitting unit configured to transmit instruction information giving an instruction as to how the computer program and the configuration information are acquired to the destination thus determined over a network.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority to and incorporates by referencethe entire contents of Japanese Patent Application No. 2012-047869 filedin Japan on Mar. 5, 2012.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a technology for distributing acomputer program for using a data processing apparatus, and morespecifically, to a data processing apparatus, a computer-readablerecording medium that contains a computer program, and a data processingsystem aiding a user in installing and configuring a computer programfor making a data processing apparatus usable to an information terminaldevice.

2. Description of the Related Art

Recently, various restrictions have become imposed on use of amultifunctional peripheral (MFP) or a printer, from the viewpoints ofsaving resources, reducing costs, and ensuring information security.Examples of such restrictions include a restriction on users who arepermitted to use the apparatus, a restriction on the number of sheetspermitted to print, or color modes permitted to use. In addition, fromthe viewpoint of improving convenience for the users, functionalenhancements such as location-free printing and integrated circuit (IC)card authentication are also introduced to such apparatuses.

If such an apparatus is a simple network printer or the like, as long asa user knows basic information such as the model name or the InternetProtocol (IP) address of the apparatus, the user himself/herself candownload a device driver from the website of the manufacture, and set upan environment for making the apparatus usable. However, as morefunctional enhancements described above are introduced, the installationprocess becomes more complex, because the user needs to set up anenvironment or install drivers and applications to make such functionalenhancements usable. For example, if a use restriction is to be imposedusing a user code or a user identification (ID), a user code or a userID needs to be configured in addition to networking configurations suchas an IP address. Furthermore, there are some cases where it ispreferable not to make the IP address open, from the viewpoint ofensuring security.

In particular, it is cumbersome for information system administrators ingovernment agencies, companies, and universities to set up initialconfigurations on each personal computer to be managed, or to askend-users to perform such configurations. Provided to alleviate suchburdens of system administrators are aiding tools for creating aninstallation package for enabling required applications, drivers,special utilities, and configurations to be installed all at once.

Also known as a technology for aiding the installation process isdisclosed in Japanese Patent No. 4340476. In Japanese Patent No.4340476, a scenario unique to a computer is created by retrieving andacquiring data from installation database, and incorporating the data ina scenario template in which steps of installing software are described.In this manner, installations of device drivers or configurations of theprinting environment required for enabling a terminal to use networkprinting from a printing apparatus can be easily performed to eachterminal.

Known as a technology for aiding the user-side installation process is atechnology for collecting device information from a printer or an MFP ona network in advance, and allowing a user to download an installationpackage from a list. Japanese Patent Application Laid-open No.2003-131976 discloses a technology in which, when a printer is selectedfrom a list on a terminal, connection configurations and printingconfigurations are performed by acquiring a printer driver correspondingto the printer from a database. Japanese Patent Application Laid-openNo. 2005-301608 discloses a technology in which, when a user selects aperipheral device to be installed from a list of peripheral devices, aninstaller is used to check if the driver is already installed beforeinstalling such a driver. Furthermore, Japanese Patent ApplicationLaid-open No. 2000-353079 discloses a technology in which a devicedriver is automatically updated to the latest release.

As described above, various technologies are known to supportinstallations and configurations of a computer program such as a devicedriver of a device, or to update a computer program to the latestrelease. When the aiding tool for creating the installation package isused, although the burdens of the system administrators can be reduced,end-users need to complete the installation process and manage thepackage appropriately. There are some cases that the end-user cannotfind the package distributed in the past when the user is going to usethe package because the installation process was incomplete or the userre-installed an operating system (OS), for example.

In the technologies disclosed in Japanese Patent No. 4340476 andJapanese Patent Application Laid-open No. 2005-301608, although a usercan download and install a computer program when the user needs thecomputer program, the user needs to find the exact device the user wantsto use from a list or the like. Computer programs may also be organizedin a hierarchical structure or retrieved using attribute informationsuch as a building, a floor, or a section in which the apparatus isinstalled, but there are some cases no attribute information is assignedor devices of the same model are installed in a large number. In a largeorganization, because an enormous number of devices are installed, it isdifficult for a user to find a target device. Furthermore, if a userinstalls a wrong computer program, the user needs to do an extra work.

Therefore, having been desired is a development of a technology forallowing a computer program for making a target data processingapparatus usable to be installed and configured to a target terminaldevice through a simple and intuitive process.

SUMMARY OF THE INVENTION

It is an object of the present invention to at least partially solve theproblems in the conventional technology.

In consideration of such inconveniences in the conventionaltechnologies, there is needed to provide a data processing apparatus, acomputer program, and a data processing system that enables a user toconfigure initial settings for using a target data processing apparatusto a target information terminal device through a simple operation.

According to the present invention, there is provided a data processingapparatus connected to a network, the data processing apparatuscomprising: a receiving unit configured to receive an input of userinformation; a determining unit configured to determine a destinationcorresponding to the user information; a preparing unit configured toprepare a computer program for enabling an information terminal deviceto which the computer program is installed to use a data processingfunction provided by the data processing apparatus, and configurationinformation related to the data processing function; and a transmittingunit configured to transmit instruction information giving aninstruction as to how the computer program and the configurationinformation are acquired to the destination thus determined over thenetwork.

The present invention also provides a non-transitory computer-readablerecording medium that contains a computer program causing a computer tofunction as: a receiving unit configured to receive an input of userinformation; a determining unit configured to determine a destinationcorresponding to the user information; a preparing unit configured toprepare a computer program for enabling an information terminal deviceto which the computer program is installed to use a data processingfunction provided by the data processing apparatus, and configurationinformation related to the data processing function; and a transmittingunit configured to transmit instruction information giving aninstruction as to how the computer program and the configurationinformation are acquired to the destination thus determined over anetwork.

The present invention also provides a data processing system comprising:a data processing apparatus; and one or more servers connected to thedata processing apparatus over a network.

In the data processing system mentioned above, the data processingapparatus comprises a receiving unit configured to receive an input ofuser information entered via an input device included in the dataprocessing apparatus, and the one or more server comprises; adetermining unit configured to determine a destination corresponding tothe user information; a preparing unit configured to prepare a computerprogram for enabling an information terminal device to which such acomputer program is installed to use a data processing function providedby the data processing apparatus, and configuration information relatedto the data processing function; and a transmitting unit configured totransmit instruction information giving an instruction as to how thecomputer program and the configuration information are acquired to thedestination thus determined over the network.

The above and other objects, features, advantages and technical andindustrial significance of this invention will be better understood byreading the following detailed description of presently preferredembodiments of the invention, when considered in connection with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustrating a network environment in which an MFPaccording to a first embodiment of the present invention is deployed;

FIG. 2 is a schematic of a hardware configuration of the MFP accordingto the first embodiment;

FIG. 3 is a schematic of functional blocks realized on the MFP accordingto the first embodiment;

FIG. 4 is a schematic of a data structure of a package prepared anddistributed by the MFP according to the first embodiment;

FIG. 5 is a flowchart illustrating a package distribution configuringprocess performed by the MFP according to the first embodiment;

FIG. 6 is a schematic illustrating an example of a package distributionconfiguration screen displayed on a display of an operation panel or ofan administrator terminal;

FIG. 7 is a flowchart illustrating a process performed by the MFPaccording to the first embodiment when a user is to receive a packagedistribution;

FIG. 8 is a schematic illustrating an example of a package distributionrequest receiving screen displayed on the display of the operationpanel;

FIG. 9 is a schematic illustrating an example of a data structure ofuser management information;

FIGS. 10A and 10B are flowcharts illustrating processes performed by theMFP according to the first embodiment after the package is prepared;

FIG. 11 is a flowchart illustrating a process performed by the MFPaccording to the first embodiment when a print job is received;

FIG. 12 is a sequence chart for explaining another embodiment in whichan administrator user approves of a package distribution before aninstruction email is transmitted;

FIG. 13 is a schematic for explaining a second embodiment realized by animage processing system including an MFP and one or more serversconnected to the MFP over a network; and

FIG. 14 is a sequence chart illustrating a process performed between theMFP and a plurality of servers in the image processing system accordingto the second embodiment when a package distribution request isreceived.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention will now be explained using some embodiments,although the present invention is not limited to the embodimentsdescribed below. In the embodiments described below, a data processingapparatus providing a data processing function is explained using anexample of an MFP providing a plurality of image processing functionssuch as those of a printer, a copier, a scanner, and a facsimile.

First Embodiment

FIG. 1 is a schematic illustrating a network environment in which an MFPaccording to a first embodiment of the present invention is deployed. Anetwork environment 100 illustrated in FIG. 1 includes an MFP 110, auser terminal 160, and an administrator terminal 170 connected to oneanother over an internal network 102. The internal network 102 is notespecially limited, and may be a wired network, e.g., an Ethernet(registered trademark) network such as a 1000 Base-TX network, or awireless network based on a standard such as the Institute of Electricaland Electronics Engineers (IEEE) 802.11. The internal network 102 mayinclude a wide area network deployed in a secure environment using avirtual private network (VPN), as well as a local area network (LAN).

The MFP 110 has various image processing functions such as those of aprinter, a scanner, and a facsimile, and processes various jobsrequested by external information terminal devices over the internalnetwork 102. The user terminal 160 is an information terminal deviceoperated by an end-user (hereinafter, simply referred to as a user)using the MFP 110 as a printer, a scanner, or a facsimile. The userterminal 160 requests various jobs such as a print job, a scan job, anda facsimile transmitting job from the MFP 110 in response to aninstruction from a user.

In the first embodiment, device drivers for allowing the imageprocessing functions provided by the MFP 110 to use, as well as otherapplications and configuration information related to these functions,are provided as an install package (hereinafter, simply referred to as apackage). The package, which will be describe in detail later, includesone or more software modules (including device drivers and applications)and configuration information related to such one or more softwaremodules. More preferably, the package is provided as a file in anexecutable format.

The MFP 110 according to the first embodiment generates the package inresponse to a user request, and prepares to distribute the package tothe user terminal 160. The package is transmitted to a user as an emailattachment, or downloadably stored in a storage area that is externallyaccessible to allow the user to use the package. A user acquires thepackage using the user terminal 160, and performs a bulk installationand configurations of required software.

To the internal network 102 illustrated in FIG. 1, the Internet 104 isconnected via a router not illustrated. Connected to the Internet 104 isa public driver server 180 for providing device drivers supportingmodels of the MFP 110 publically available. The administrator terminal170 is an information terminal device operated by an administrator userwho performs various configurations to the MFP 110. The MFP 110 includesa remote configuration interface for receiving a remote configurationoperation over a network. An administrator user can perform variousconfigurations related to a package distribution by accessing the remoteconfiguration interface from the administrator terminal 170.

A hardware configuration of the MFP according to the first embodimentwill now be explained with reference to FIG. 2. The MFP 110 includes acontroller 12, an operation panel 42, a facsimile control unit (FCU) 44,and an engine unit 46. The controller 12 includes a central processingunit (CPU) 14, a north bridge (NB) 18, an application specificintegrated circuit (ASIC) 20, and a system memory 16. The ASIC 20executes various types of image processing. The ASIC 20 is connected tothe NB 18 via an accelerated graphic port (AGP) 48, and to the CPU 14via the NB 18. The system memory 16 is used as a drawing memory, forexample.

The ASIC 20 is connected to a local memory 22, a hard disk drive (HDD)24, and a non-volatile memory (NV-RAM) 26 such as a flash memory. Thelocal memory 22 is used as an image buffer for copying, or a codingbuffer. The HDD 24 is a storage storing therein image data, documentdata, computer programs, font data, form data, and the like. The HDD 24according to the first embodiment provides a storage area for storingtherein the package. The NV-RAM 26 stores therein computer programs forcontrolling the MFP 110, system information, and configurationinformation related to a package distribution.

The controller 12 further includes a south bridge (SB) 28 connected tothe NB 18 via a peripheral component interconnect (PCI) bus 50, anetwork interface card (NIC) 30, a secure digital (SD) card slot 32, auniversal serial bus (USB) interface 34, an IEEE 1394 interface 36, anda Centronics interface 38. The SB 28 is a bridge for connecting the NB18 to a read-only memory (ROM) not illustrated, a PCI bus peripheraldevice, and the like. The NIC 30 is an interface device for connectingthe MFP 110 to the internal network 102, and receives a job requestedover a network. An SD card not illustrated is mounted on the SD cardslot 32 removably. The USB interface 34, the IEEE 1394 interface 36, andthe Centronics interface 38 are interfaces that are based on respectivestandards.

The operation panel 42 is connected to the ASIC 20 of the controller 12,and provides a user interface for receiving inputs of variousinstructions from an operator and for displaying a screen. The operationpanel 42 according to the first embodiment functions as an input devicereceiving user information from a user. The FCU 44 and the engine unit46 are connected to the ASIC 20 via the PCI bus 50. The FCU 44 executescommunications based on a protocol such as that of a facsimilecommunication standard such as a G3 or G4. The engine unit 46 receives aprint job or a scan job issued by the user terminal 160, and executes animage forming process or an image scanning process. The MFP 110 may alsoinclude an IC card reader so that IC card authentication is supported.

Each of the user terminal 160 and the administrator terminal 170 isconfigured as a general-purpose computer such as a personal computer, oran information terminal device, such as a tablet terminal, a smartphone, and a personal digital assistance (PDA). Each of the userterminal 160 and the administrator terminal 170 includes a CPU, a RAM,an HDD or a solid state drive (SSD), an NIC, a display, and an inputdevice such as a mouse, a keyboard, and a touch panel none of which isillustrated.

A package distributing process according to the first embodiment willnow be explained with reference to FIGS. 3 to 11. FIG. 3 is a schematicof functional blocks realized on the MFP 110 according to the firstembodiment. In the first embodiment, a user who wants to use the MFP 110moves in front of the MFP 110, and issues an application indicating thatthe user wants to use the MFP 110 via the operation panel 42(hereinafter, referred to as an application for use). The user thenreturns to his/her user terminal 160, and acquires and installs apackage following a message received from the MFP 110. Explained belowin the first embodiment are an example in which the data processingfunction is a print function, and an example in which the packageincludes a printer driver installer and a port monitor installer.

The MFP 110 illustrated in FIG. 3 includes a configuration managing unit112, a driver managing unit 120, a package distribution requestreceiving unit 126, a user information managing unit 128, a packagemanaging unit 134, a package distribution control unit 138, and amessage transmitting unit 144.

The configuration managing unit 112 receives various configurationsrelated to a package distribution, and manages configurationinformation. A configuring operation is performed via the operationpanel 42 or the remote configuration interface. More specifically, theconfiguration managing unit 112 includes an output port managing unit114, a use restriction managing unit 116, and a configurationinformation storage unit 118. The output port managing unit 114 managesoutput port configuration information such as a destination IP address,a protocol, and a port number used when the MFP 110 is used by a user.The destination IP address is an IP address assigned to the MFP 110 in aconfiguration in which a job is transmitted directly to the MFP 110, andis an IP address of a print server in a configuration in which a job isdirected via a print server. The use restriction managing unit 116manages conditions in a use privilege when a package is distributed to auser. The configuration information storage unit 118 stores thereinvarious types of configuration information managed by the output portmanaging unit 114 and the use restriction managing unit 116.

The driver managing unit 120 manages files such as a printer driverinstaller and a port monitor installer required for adding an outputport. When there are other applications required to co-operate with anexternal server, the driver managing unit 120 manages files of othernecessary software modules. The software modules are managed for eachtype of an operating system (OS). A port monitor installer storage unit122 stores therein a port monitor installer corresponding to each OStype, and a driver installer storage unit 124 stores therein a printerdriver installer corresponding to each OS type.

In the public driver server 180 illustrated in FIG. 1, software modulesare updated as necessary. In order to keep the software modules to thelatest release, the driver managing unit 120 communicates with thepublic driver server 180 on a regular basis or on an irregular basis inresponse to an explicit instruction from an administrator user. Thedriver managing unit 120 checks the version number or the like, and if asoftware module on the public driver server 180 is updated, the drivermanaging unit 120 downloads the update file for each OS type, and storesthe update files in the storage units 122 and 124.

The package distribution request receiving unit 126 is a receiving unitthat receives an application for use, information of an OS used, anduser information input via an input device included in the MFP 110.Examples of user information input via the input device include a userID for uniquely identifying a user, and a unique email address assignedto the user. Examples of the input device include the operation panel 42and the IC card reader not illustrated.

The user information managing unit 128 manages user managementinformation 130 that maintains information related to registered users.The user information managing unit 128 checks if an application for useis submitted by a registered user based on the received user informationby referring to the user management information 130. When an emailaddress is received as the user information and informationcorresponding to the email address is registered in the user managementinformation 130, the user information managing unit 128 acquires theuser ID of the registered user.

For a registered user, the user information managing unit 128 alsodetermines the destination of a message by acquiring an email addresslinked to the entered user ID or an IC card, or using the input emailaddress as it is. When a plurality of email addresses are registered,the MFP 110 may select or ask the user to select one of the emailaddresses.

In the first embodiment explained below, the user management information130 is explained to be managed as an address book in the MFP 110, forexample. However, in other embodiments, the user management information130 may be stored in an external user management server such as alightweight directory access protocol (LDAP) server, and the destinationmay be determined by issuing an inquiry to the user management server.The user information managing unit 128 is configured as a determiningunit in the first embodiment.

The MFP 110 may also include a temporary user ID issuing unit 132 so asto allow a user other than the authorized registered users to use thefunctions of the MFP 110. The temporary user ID issuing unit 132 is anidentification information issuing unit that issues a temporary user IDwhen an application for use is issued by a user other than theauthorized registered users. A temporary user ID is numbered so thatsuch a number does not become redundant with (temporary) user ID havingalready issued. When an unauthorized user submits an application foruse, the user is required to enter his/her email address. Therefore, theuser information managing unit 128 determines the email address thusentered as the destination of the message as it is.

To a temporary user ID, a restriction is imposed to at least one of thelength of time for which and the quantity by which the MFP 110 ispermitted to use, and which the functions of the MFP 110 is permitted touse. The configuration information of whether a temporary use ispermitted, or, if permitted, what kind of use restriction is imposed ismanaged by the use restriction managing unit 116 in the configurationmanaging unit 112. A unique value may be generated as the temporary userID every time such an identification is issued, or re-use anidentification having issued and having already expired.

In response to an application for use, the package managing unit 134reads the configuration information from the configuration managing unit112 and reads the port monitor installer and the driver installercorresponding to the OS to be used from the driver managing unit 120,and generates an installation package 136. The package managing unit 134can also prepare a package unique to the user by acquiring user ID fromthe user information managing unit 128 and embedding the user ID to thepackage. The package managing unit 134 functions as a preparing unit inthe first embodiment.

In the embodiments explained herein, the user ID used in acquiring theemail address and the user ID embedded in the package are explainedusing the same terminology, but may be different. The user ID may be anyinformation identifying a user, such as an employee number, an accountID, or a user code consisting of a given number of alpha-numericcharacters.

The package distribution control unit 138 is a distribution control unitthat controls a distribution of the package 136 prepared in the mannerdescribed above. In the first embodiment, the package can be distributedvia a selection from a plurality of routes. A first route is a route fordistributing the package via a web server. A second route is a route fordistributing the package via a file sharing service. A third route is aroute for distributing the package as an email attachment. A route fordistributing the package via a file transfer protocol (FTP) server maybe provided additionally, although a detailed explanation thereof isomitted herein.

When the first route is selected, the package distribution control unit138 stores the package in a web server 142 implemented on the MFP 110 ina downloadable manner. When the second route is selected, the packagedistribution control unit 138 stores the package in a shared folder thatcan be accessed over a network. A file sharing managing unit 140implements file sharing protocols such as the Server Message Block (SMB)and the Common Internet File System (CIFS), and manages the sharedfolder.

The package is preferably acquired or executed only by specific users.Therefore, when the first route or the second route is selected, thepackage distribution control unit 138 works in cooperation with the userinformation managing unit 128 to store therein the package in a mannersecured by any one of access control and password protection or both.

The access control in the first route can be realized by issuing auser-specific download uniform resource locator (URL). Alternatively, auser may be requested to be authenticated when the package is to bedownloaded, or a link for a download page may be embedded in auser-specific web page accessed after the user is authenticated. Theaccess control in the second route may be realized by controlling theright to access the shared folder. An account used for the userauthentication or the access right control may be the same as ordifferent from the user ID embedded in the package. The passwordprotection can be realized by compressing the package in a mannerprotected with a password.

Preferably, when downloading of the package to the user terminal 160 iscompleted or when a preconfigured release period has ended, the packageis made inaccessible by deleting the package, disabling the downloadURL, or changing the access right. Completion of downloading can bedetermined by monitoring an access log of the shared folder, ordetecting a disconnection of a download session, for example.Alternatively, completion of installation may be detected by detecting afirst job issued by a user-specific driver and deleted.

The message transmitting unit 144 is a transmitting unit that transmitsa message for giving an instruction as to how the user can acquire thepackage to the email address determined as the destination over theinternal network 102. When the first route or the second route isselected, the instruction message includes at least one email messageincluding a download URL indicating where the package is stored or apath (URL) to the shared file. When the package is secured by accesscontrol or password protection, the instruction message includes atleast one email message on which an access ID and a password areprovided.

The access ID and the password may be provided in the email message onwhich the URL is provided, but more preferably, provided in a separateemail message. Therefore, the instruction message may include two ormore email messages. In the embodiments explained herein, theinstruction message is explained to be an email message, but in otherembodiments, the message may be provided via any message distributionsystem, such as an instant message, enabled to communicate the URL tothe user.

When the third route is selected, the message transmitting unit 144transmits an email message to which the package is attached, as aninstruction message. Because sometimes a capacity limit is imposed on anemail address, an upper limit may be provided to the size of the packagefor which the third route can be selected, for example.

When the user returns in front of the user terminal 160, and receivesthe instruction message transmitted from the MFP 110, the user is nowready for acquiring the package. In the case of the first route, thepackage can be downloaded from the link embedded in the instructionmessage. In the case of the second route, the user can access the pathprovided in the instruction email, and copy or move the package to theuser terminal 160. In the case of the third route, the package isacquired by storing the file attached to the instruction email.

FIG. 4 is a schematic of a data structure of a package prepared anddistributed by the MFP 110 according to the first embodiment. Thepackage 136 illustrated in FIG. 4 includes an installation controlprogram 200, a scenario file 202, a port monitor installation controlprogram 212, a port monitor installation file group 214, a printerdriver installation control program 216, and a printer driverinstallation file group 218.

The scenario file 202 is configuration information in which installationconditions are described, and an installation operation is controlledfollowing the descriptions in the scenario file 202. An administratoruser can specify what is described in the scenario file 202 included inthe package via the configuration managing unit 112. In this manner,even when an installation environment is changed, a user can install thepackage correctly without being aware of the change. More specifically,the scenario file 202 includes administrator privilege information 204,port creating information 206, a user ID 208, and driver initial settinginformation 210.

The administrator privilege information 204 is information in which anadministrator account and a password are encrypted. In a Windows(registered trademark) environment, there are some cases where a generaluser is prohibited from installing the package because writing to asystem folder by a general user is prohibited by an access control. Insuch a case, the administrator privilege information 204 promotes aninstaller process to a process with an administrator privilege so thatthe installation process can be completed with an administratorprivilege. When the user terminal 160 is managed by a domain controller,a domain administrator account and a password may be configured to theadministrator privilege information 204.

The port creating information 206 is information including networkinginformation such as a destination Transmission Control Protocol/InternetProtocol (TCP/IP) address and port number, and describing which port theprinter driver is assigned. When the port is a proprietary port, amonitor for the proprietary port is installed simultaneously with theprinter driver. The user ID 208 is a parameter for imposing arestriction on at least one of the length of time for which and thequantity by which the MFP 110 is permitted to use, and which thefunctions of the MFP 110 is permitted to use. The driver initial settinginformation 210 is used to re-write a default setting of the printerdriver. For example, when it is desired to set monochromatic printing toa color printer as a default setting, monochromatic mode is set as aninitial value.

The installation control program 200 is a computer program that controlsthe entire process of the package installation process, and performs theinstallation process following the descriptions in the scenario file202. The port monitor installation file group 214 is a group of filesthat are used in installing the proprietary port monitor. The printerdriver installation file group 218 is a group of files used ininstalling the printer driver. The installation control program 200causes the port monitor installation control program 212 to start, andto install the port monitor using the file group 214 before the printerdriver is installed. The installation control program 200 causes theprinter driver installation control program 216 to start, and to installthe printer driver using the file group 218. When the driver or the portmonitor is updated, these file groups are replaced.

When a user issues an instruction for executing the package on the userterminal 160, the installation control program 200 is started, and theport monitor and the printer driver installing processes and theconfiguring process are then executed. When the installations arecompleted, the user can request a print job from the MFP 110 on the userterminal 160.

Referring back to FIG. 3, the MFP 110 also includes a print requestreceiving unit 146, a process permissibility determining unit 148, and aprinting processing unit 150. The print request receiving unit 146receives a print job from the user terminal 160 via the printer driver.The user ID embedded in the package is appended to the print job. Theprocess permissibility determining unit 148 acquires the user IDincluded in the print job, and inquires of the user information managingunit 128 about a use restriction imposed on the user ID, and determinesif processing of the print job is permitted. When the validity specifiedto the user ID has been expired, or when the upper limit of the usequantity restriction has reached for a function on which the restrictionis imposed, the process permissibility determining unit 148 determinesthat processing of such a print job is not permitted.

The printing processing unit 150 executes a print outputting process forthe print job based on the determination result made by the processpermissibility determining unit 148. When the process permissibilitydetermining unit 148 determines that processing of the print job is notpermitted, the process permissibility determining unit 148 notifies ofthe requesting user terminal 160 an error. Instead of notifying the userterminal 160 an error, the printing output may be continued by applyinga change, for example, changing color printing to monochromatic printingwhen a color printing is restricted while monochromatic printing is not.

Configuring a package distribution according to the first embodimentwill now be explained more in detail with reference to FIGS. 5 and 6.FIG. 5 is a flowchart illustrating a package distribution configuringprocess performed by the MFP according to the first embodiment. FIG. 6is a schematic illustrating an example of a package distributionconfiguration screen displayed on the display of the operation panel 42or on the administrator terminal 170.

The process illustrated in FIG. 5 starts at Step S100. At Step S101, theconfiguration managing unit 112 receives a call for the packagedistribution configuration screen. At Step S102, the configurationmanaging unit 112 displays a basic settings screen of the packagedistribution configuration screen, and receives basic configurations ofthe package, such as those for the printer driver and the port monitor.The basic configuration includes the administrator privilege information204, the port creating information 206, a designation of whether theuser ID 208 is required to be embedded, and the driver initial settinginformation 210, illustrated in FIG. 4.

When basic configurations are completed, a distribution settings screen220 for setting package distribution configurations is displayed, asillustrated in FIG. 6. At Step S103, the configuration managing unit 112receives a designation of a package acquisition route. The distributionsettings screen 220 illustrated in FIG. 6 displays radio buttonsincluding an alternative 224 a for “acquire as email attachment (thethird route)”, an alternative 224 b for “acquire from web server (thefirst route)”, and an alternative 224 c for “acquire from shared folder(the second route)” under a configuration item 222 indicating packageacquisition routes, and one of the three routes is selected.

At Step S104, the configuration managing unit 112 receives a designationas to whether temporary use is permitted. In the distribution settingsscreen 220 illustrated in FIG. 6, permissibility of temporary use isselected using radio buttons 228 a and 228 b under a configuration item226. At Step S105, the process is branched based on the permissibilityof temporary use. When “permit” is specified for the temporary use atStep S105 (Yes), the process goes to Step S106.

Graphical user interface (GUI) components 230 to 238 are enabled whenthe “permit” alternative 228 a is selected, for example. At Step S106,the configuration managing unit 112 receives configurations related to arestriction imposed on temporary use, via the GUI components 230 to 238.As illustrated in FIG. 6, the distribution settings screen 220 mayinclude a pull-down list 230 for imposing a restriction to a length oftime for which the use of the MFP 110 is permitted. The pull-down list230 lists alternatives, e.g., “two hours”, “24 hours”, and “48 hours”,indicating length of time for which temporary use is permitted. Byimposing a restriction on a length of time for which a temporary use ispermitted, a temporary user can be prevented from keeping using the MFP110 indefinitely.

The distribution settings screen 220 may include a pull-down list 232for setting a restriction imposed on the quantity permitted to use, anda use unit setting button 234 for calling a use unit weighting settingin the quantity restriction. The pull-down list 232 lists alternativesof an upper limit to the quantity restriction permitted for temporaryuse, e.g., “50 use units” or “100 use units”. A use unit means a valueincremented every time a print process for one page is executed. Bypressing the use unit setting button 234, the use unit can be weighteddepending on a printing condition. For example, an administrator canspecify the use unit any way, e.g. monochromatic printing of a single A4page corresponds to one use unit, a single A3 page monochromaticprinting corresponds to two use units, and a single A3 page colorprinting corresponds to five use units. For example, when “100 useunits” are specified, 20 sheets of A3 page color printing can beprinted. By imposing a restriction on the quantity permitted to atemporary user, the MFP 110 can be prevented from being used temporarilywithout any limitation.

The distribution settings screen 220 may also include a pull-down list236 for setting an operation when the upper limit is reached. When theupper limit is reached while executing printing, the printing processmay be stopped immediately, or printing output is allowed to becontinued only for the current job. Alternatively, only an alarm may betransmitted to the printer driver on the user terminal 160, withoutchanging or interrupting the printing process itself.

The pull-down list 236 lists alternatives of operations performed whenthe upper limit is reached during a printing operation, such as “applyrestriction after current job is completed”, “interrupt job”, and“permit continuous use”. When “apply restriction after current job iscompleted” is selected, an alarm is issued when the upper limit isexceeded, and the current job is continued, but printing of anysubsequent job is not permitted. When “interrupt job” is selected, eventhe current job is interrupted when the upper limit is exceeded. In thecase of the “permit continuous use”, an alarm is issued when the upperlimit is exceeded, but execution of the job is still continuedsubsequently.

The distribution settings screen 220 may further include check boxes 238a and 238 b for setting functions to be restricted. The check boxes 238a and 238 b designate if a restriction is imposed on monochromaticprinting and color printing, respectively. For example, when the “color”check box 238 b is checked, color printing is interrupted in thesituation explained above.

Referring back to FIG. 5, at Step S107, in response to a pressingoperation on a set button 240 illustrated in FIG. 6, the configurationmanaging unit 112 stores the configurations set in the processes at StepS102 to Step S106 in the configuration information storage unit 118, andthe process is ended at Step S108. When no temporary use is permitted atStep S105 (No), the process goes directly to Step S107. When analternative 228 b “Do not permit” is selected, the GUI components 230 to238 are disabled and grayed out.

When a cancel button 242 illustrated in FIG. 6 is pressed down, theprocess is ended without setting anything, for example. If a returnbutton 244 is pressed down, the basic configurations are received againat Step S102.

A process of receiving a package distribution in the first embodimentwill now be explained more in detail with reference to FIGS. 7 to 9.FIG. 7 is a flowchart illustrating a process performed by the MFPaccording to the first embodiment when a user is to receive a packagedistribution. FIG. 8 is a schematic illustrating an example of a packagedistribution request receiving screen displayed on the display of theoperation panel 42. FIG. 9 is a schematic illustrating an example of adata structure of the user management information 130.

The process illustrated in FIG. 7 starts at Step S200. At Step S201, thepackage distribution request receiving unit 126 receives a call for thepackage distribution request receiving screen via a pressing operationon a hard key of the operation panel 42 or a navigation on the touchpanel. At Step S202, the package distribution request receiving unit 126displays package distribution request receiving screen as illustrated inFIG. 8 on the display of the operation panel 42.

A package distribution request receiving screen 250 illustrated in FIG.8 includes a message 252 explaining the intention of the requestreceiving screen, a message 254 for asking a user to enter userinformation, and GUI components 256 to 260 for receiving userinformation settings. Examples of the GUI components for setting userinformation include a text box 256 for entering an email address, andtext boxes 258 and 260 for entering an account ID and a password. Inthis example, an account ID is used as a user ID for acquiring an emailaddress. The distribution receiving screen 250 also includes a message262 for asking a user to select an OS to be used, a pull-down list 264for receiving a selection of an OS, an execute button 266, and a cancelbutton 268. When an email address is entered, when an account ID and apassword are entered, or when an IC card is held against the IC cardreader, the execute button 266 is activated.

Referring back to FIG. 7, at Step S203, in response to the executebutton 266 being touched, the package distribution request receivingunit 126 receives the user information and information about the OS usedby the user entered via the distribution receiving screen 250. At StepS204, the user information managing unit 128 uses the email address thusentered, the user ID and the password thus entered, or IC cardauthentication information thus entered to retrieve a correspondingentry from the user management information 130, and determines adestination.

As illustrated in FIG. 9, the user management information 130 includes auser code field 130 a, an account ID field 130 b, a user name field 130c, an email address field 130 d, a use restriction field 130 e, and afield 130 f for specifying if the user is an authorized user. At StepS204, when the account ID and the password are entered or when the ICcard authentication information is entered, the email address linked tothe account ID of the authenticated user is acquired as it is, anddetermined as the destination address. When an email address is entered,the email address is determined as the destination address.

At Step S205, the user information managing unit 128 determines if theuser is an authorized registered user. If no corresponding record isfound in the user management information 130, the user informationmanaging unit 128 determines that the user is not a registered user.When the user is determined not to be an authorized registered user atStep S205 (No), the process goes to Step S206. At Step S206, the userinformation managing unit 128 determines if the temporary use ispermitted. At Step S206, if the user information managing unit 128determines that the temporary use is permitted (Yes), the process goesto Step S207.

At Step S207, the temporary user ID issuing unit 132 issues a temporaryuser ID, and sets a use restriction conditioned in the manner describedabove to the user ID. In this example, a user code is issued as a userID to be embedded in the package. In the user management information 130illustrated in FIG. 9, when the temporary user ID is issued, a record“user code=T0000001”, for example, is registered. At Step S208, thepackage managing unit 134 prepares the package using the informationabout the OS used by the user and the user code. By contrast, if theuser is determined as a registered user at Step S205 (Yes), the processis directly branched to Step S208. In this case, the user code linked tothe registered user is embedded in the package.

At Step S209, the package distribution control unit 138 branches theprocess depending on the package acquisition route configured. If anemail attachment is configured as the package acquisition route, theprocess is branched from Step S209 to Step S210. At Step S210, themessage transmitting unit 144 transmits an instruction email attachedwith the package prepared in the manner described above to the emailaddress determined as the destination. At Step S211, the MFP 110displays a report of completion of the instruction email transmission onthe operation panel 42, and the process is ended at Step S212.

If a web server is configured as the package acquisition route, theprocess is branched from Step S209 to Step S213. At Step S213, thepackage distribution control unit 138 stores the package in the webserver 142 in a downloadable manner, and issues a download URL to thepackage. At Step S214, the message transmitting unit 144 transmits aninstruction message specifying the download URL to the email addressdetermined in the manner described above. At Step S211, the MFP 110displays a report of completion of the instruction email transmission onthe operation panel 42, and the process is ended at Step S212.

If file sharing is configured as the package acquisition route, theprocess is branched from Step S209 to Step S215. At Step S215, thepackage distribution control unit 138 causes the file sharing managingunit 140 to store the package in the shared folder. At Step S216, themessage transmitting unit 144 transmits an instruction message on whichthe path (URL) to the package in the shared folder is specified to theemail address determined in the manner described above, and at StepS211, the MFP 110 displays a report of completion of the transmission,and the process is ended at Step S212.

Referring back to Step S206, if the user information managing unit 128determines that temporary use is not permitted (No), the process isbranched to Step S217. At Step S217, the MFP 110 displays a report of apackage distribution error on the operation panel 42, and the process isended at Step S212.

FIGS. 10A and 10B are flowcharts illustrating processes performed by theMFP according to the first embodiment after the package is prepared. Theprocesses illustrated in FIGS. 10A and 10B are processes performed whena web server is selected as the package acquisition route. FIG. 10A is aflowchart illustrating a process performed when the user is to acquirethe package. The process illustrated in FIG. 10A starts at Step S300. AtStep S301, the web server 142 receives an access to the download URLfrom the user terminal 160. At Step S302, the web server 142 determinesif the access is permitted. If the access is permitted at Step S302(Yes), the process goes to Step S303.

At Step S303, the web server 142 transmits the package to the requestorin response to the access request to the download URL. At Step S304, theweb server 142 determines if a completion of the download is detectedbased on whether the file transmission is ended and the download sessionis disconnected, for example. If the web server 142 determines that thedownload is completed at Step S304 (Yes), the process is branched toStep S305. At Step S305, the web server 142 deletes the package havingdownloaded or disables the download URL, and the process is ended atStep S306. If the access is not permitted at Step S302 (No), or if theweb server 142 determines that the download failed at Step S304 (No),the process is branched to Step S306, and the process is ended.

FIG. 10B is a flowchart illustrating a process of controlling a releaseperiod after the package is prepared. The process illustrated in FIG.10B is performed in response to the completion of the packagepreparation, and starts at Step S400. At Step S401, the web server 142determines if the preset release period has ended, and Step S401 islooped until the preset release period has ended (while No at StepS401). When the web server 142 determines that the release period hasended at Step S401 (Yes), the process goes to Step S402. At Step S402,the web server 142 deletes the package having downloaded or disables thedownload URL, and the process is ended at Step S403.

As explained with reference to FIGS. 10A and 10B, by invalidating thepackage having downloaded or for which the release period has ended, thepackage is prevented from being kept released carelessly. Furthermore,by deleting the package having downloaded, the consumed disk capacity inthe MFP 110 can be reduced. Furthermore, in the first embodimentexplained above, the package is prepared when the package distributionrequest is received. However, from the viewpoint of reducing theconsumed disk capacity, preferably, the package generating process maybe suspended when the package distribution request is received, and thepackage generating process may be executed when the package is to beacquired. Furthermore, it should be needless to say that invalidatingthe package having downloaded or for which the release period is endedalso is applicable to file sharing.

FIG. 11 is a flowchart illustrating a process performed by the MFPaccording to the first embodiment when a print job is received. Theoperation illustrated in FIG. 11 is an example in which “applyrestriction after current job is completed” is selected. The processillustrated in FIG. 11 starts at Step S500. At Step S501, the printrequest receiving unit 146 receives a print job issued by the userterminal 160. At Step S502, the process permissibility determining unit148 inquires the user information managing unit 128, retrieves an entrycorresponding to the user code included in the job from the entries inthe user management information 130, and acquires the record.

At Step S503, the process permissibility determining unit 148 determinesif the time granted for temporary use is exceeded or the upper limit ofthe quantity permitted to print is reached based on the descriptions inthe use restriction field 130 e. If the process permissibilitydetermining unit 148 determines that the granted time has been used upor the upper limit is reached at Step S503 (Yes), the process isbranched to Step S504. At Step S504, the process permissibilitydetermining unit 148 notifies of the user terminal 160 an errorindicating that execution of the print job is not permitted, and theprocess is ended at Step S505.

If the process permissibility determining unit 148 determines that thegranted time is not exceeded and the upper limit of the quantity is notreached at Step S503 (No), the process is branched to Step S506. At StepS506, the printing processing unit 150 makes a printing output for onepage, and decrements the use units at given weighting at Step S507. AtStep S508, the printing processing unit 150 determines if the processfor the requested print job is completed. If the printing processingunit 150 determines that the job is completed at Step S508 (Yes), theprocess goes to Step S505, and the process is ended.

If the process permissibility determining unit 148 determines that jobis incomplete at Step S508 (No), the process is branched to Step S509.At Step S509, the process permissibility determining unit 148 furtherdetermines that the upper limit of the granted quantity is reached as aresult of decrementing the use units. If the process permissibilitydetermining unit 148 determines that the upper limit is reached at StepS509 (Yes), the process goes to Step S510. At Step S510, the processpermissibility determining unit 148 transmits an alarming message to thedriver on the user terminal 160, and the process is looped to Step S506.By contrast, if the process permissibility determining unit 148determines that the upper limit is not reached at Step S509 (No), theprocess is directly looped to Step S506.

In the first embodiment explained above, a user who wants to use the MFP110 moves in front of the MFP 110, and issues an application for use andenters user information via the operation panel 42. The user thenreturns to his/her user terminal 160, receives the instruction messagereceived from the MFP 110, and acquires the package following theinstruction message. The user then can complete preparing to use theprinting function of the MFP 110 from the user terminal 160 by startingthe package. Therefore, the user can use the functions of the MFP theuser wants to use from a terminal the user wants to use on demand,through simple operations.

Furthermore, in order to distribute the package in the manner describedabove, an administrator does not need to keep information of a list ofdevices connected to the network, and a user does not need to go througha trouble of finding a target MFP from the list information.Furthermore, because a temporary user ID is issued, an administrator canrecognize which users are using what, use of the MFP can be managedeasily even when a user who is not an authorized registered usersuddenly comes in with a request to use the MFP. Furthermore, theadministrator can easily invoice the amount used by such a temporaryuser to a department to which the user belongs. Furthermore, use by sucha temporary user can be traced.

Explained in the first embodiment is an example in which the instructionemail is directly transmitted to the email address of the determineddestination. However, depending on an operation policy of the networkenvironment 100, there are some cases that it is preferable to enablethe package to be acquired only after the administrator user grants anapproval. FIG. 12 is a sequence chart for explaining another embodimentin which the instruction email is transmitted after an administratoruser approves of the package distribution.

The process illustrated in FIG. 12 starts in response to a user enteringan application for use and user information to the MFP 110 at Step S601.At Step S602, the MFP 110 transmits an instruction forwarding requestingmessage to the email address of a preconfigured administrator user. Theinstruction forwarding requesting message includes a message requestingan approval for the package distribution from the administrator user,the destination address of the instruction message, and a body of theinstruction message.

At Step S603, the administrator terminal 170 forwards the instructionemail to the destination address designated as an addressee of theforwarded email. The instruction message may be forwarded manually bythe administrator user. Alternatively, a mailer may be configured sothat an automatic sorting function of the mailer is used to approve andforward emails that match a given pattern. To perform the automaticsorting flexibly, some attribute information related to a user may beadded to the instruction forwarding requesting message. For example,some user attribute (e.g., the job standing of the user) may be used todetermine if the approval is to be granted automatically or manually.

FIG. 12 illustrates another example in which the instruction email istransmitted after the administrator user grants an approval, asindicated at Steps S701 to S704. At Step S701, a user enters his/heruser information to the MFP 110. At Step S702, the MFP 110 transmits anapproval requesting message to the email address of the preconfiguredadministrator user. The approval requesting message is a messagerequesting an approval for a package distribution, and embedded in theapproval requesting message is a URL for communicating whether therequest is approved or denied to the MFP 110. When the administratoruser follows the approving URL in the approval requesting message, theMFP 110 receives an access request to the approving URL at Step S703,and triggers the process of transmitting the instruction email at StepS704.

The instruction message described above is eventually transmitted to thedetermined destination, but the administrator user may give an approvalduring this entire process. Because the instruction message is routedvia the administrator, time lag occurs, but this configuration iseffective when it is desirable to apply restrictions on the temporaryuse.

Second Embodiment

Explained in the first embodiment is an example in which all of theprocesses of receiving the application for use, preparing the package,and distributing the package are performed by the MFP 110. In anotherembodiment, these functions excluding receiving an application for usemay be distributed to one or more external servers.

FIG. 13 is a schematic for explaining a second embodiment realized by animage processing system including an MFP 310 and one or more serversconnected to the MFP over a network. The image processing systemaccording to the second embodiment includes the MFP 310, a usermanagement server 330, a package management server 340, and a printingmanagement server 370.

The MFP 310 includes a package distribution receiving unit 312, aprocess permissibility determining unit 318, and a printing processingunit 320, in the same manner as in the first embodiment illustrated inFIG. 3. In the second embodiment, the functional units working in thesame manner as those in the first embodiment are referred under the samename. The MFP 310 according to the second embodiment further includes auser information inquiring unit 314 and a package management servercooperation configuring unit 316.

In the second embodiment, a user information managing unit 332, usermanagement information 334, and a temporary user ID issuing unit 336 areimplemented on the user management server 330. The user informationinquiring unit 314 included in the MFP 310 manages communications withthe user information managing unit 332 on the user management server330, and issues inquiries related to user information entered by a user.

In the second embodiment, a configuration managing unit 342, a drivermanaging unit 350, a package managing unit 356, a package distributioncontrol unit 360, a file sharing managing unit 362, a web server 364,and a message transmitting unit 366 are implemented on the packagemanagement server 340. Alternatively, the web server 364 may beimplemented on a server that is different from the package managementserver 340, or may be implemented on the MFP 310.

The package management server 340 includes an image definition data 368for defining various operation screens displayed on the operation panel42 of the MFP 310, and transmits the image definition data to the MFP310. The package management server cooperation configuring unit 316stores therein configuration information related to a cooperationprocess with the package management server 340, and manages screendefinition data received from the package management server 340. Theimage definition data 368 includes data for defining an operation screenon which a temporary use button for calling the package distributionrequest receiving screen illustrated in FIG. 7, and the packagedistribution request receiving screen.

In the MFP 110, a screen control program operating on the MFP 110 readsthe screen definition data, builds an operation screen in a mannersuitable for specifications of the display, such as the resolution andthe gradation of the display, and displays the operation screen on theoperation panel 42. The package distribution request receiving screen isdisplayed using the same mechanism.

The printing management server 370 includes a printing instructing unit372 and a print request receiving unit 374. In the second embodiment, aprint job is transmitted to the MFP 310 via the printing managementserver 370. When the print request receiving unit 374 receives a printjob from a user terminal, the printing instructing unit 372 forwards theprint job to the MFP 310 to instruct the MFP 310 to perform theprinting.

Each of the user management server 330, the package management server340, and the printing management server 370 is configured as ageneral-purpose computer device, a workstation, a blade server, or arack-mount server. Each of the servers 330, 340, and 370 includescentral processing unit (CPU), a RAM, an HDD, an SSD, and an NIC notillustrated.

FIG. 14 is a sequence chart illustrating a process performed between theMFP and a plurality of servers in the image processing system accordingto the second embodiment when a package distribution request isreceived. The process illustrated in FIG. 14 starts at Step S801 whenthe MFP receives an input of an application for use and user informationentered by a user via an input device on the MFP 310.

At Step S802, the MFP 310 causes the user information inquiring unit 314to inquire of the user management server 330 about the user information.At Step S803, the MFP 310 acquires a user code and an email addresscorresponding to the user information entered by the user. At Step S804,the MFP 310 passes the user code and the email address to the packagemanagement server 340, and requests a package preparation process fromthe package management server 340.

At Step S805, the package management server 340 causes the packagemanaging unit 356 to prepare the package. At Step S806, the packagemanagement server 340 causes the package distribution control unit 360to perform distribution control based on the package acquisition route.At Step S807, the package management server 340 causes the messagetransmitting unit 366 to transmit an instruction email to the emailaddress of the determined destination, and the instruction email iscommunicated to a user terminal 380.

In the second embodiment, because the processes excluding receiving ofan application for use are distributed to one or more external servers,the load of the MFP 310 is reduced, and hardware requirements of the MFP310 are also reduced.

As explained above, according to the embodiments, it is possible toprovide a data processing apparatus, a computer-readable recordingmedium that contains a computer program, and a data processing systemthat enables a user to configure initial settings to a targetinformation terminal device through a simple operation and make a targetdata processing apparatus usable.

According to the embodiments, even in a situation described below, auser can configure initial settings through a simple operation and makea target MFP usable. For example, there might be a situation in which auser who always asks his subordinate to output prints needs to outputprints himself because the user needs to prepare for a meeting while hissubordinate is out of his office. Because the user has never printedanything himself, he has not installed any software modules required toprint in his terminal. The user remembers receiving some notice from theinformation technology (IT) administrator, but the user cannot find thenotice and does not know where the package distributed by the ITadministrator is located.

According to the embodiments, even in such a situation, the user canacquire the package as required, and complete installation andconfigurations simply by entering user information to the MFP that theuser wants to use and receiving an instruction message.

The present invention is also effective in a situation to be explainedbelow. A user needs to output a print when the user is in anotheroffice. Although the user has his terminal with him, the user has notconfigured any settings for an MFP in this office on his terminal. Insuch a situation as well, the user can install a package and configurehis terminal simply by entering user information to the MFP installed inthis office, and receiving the instruction message via a commoninfrastructure.

Explained in the embodiments is an example in which the data processingapparatus is the MFP 110 or 310. However, the device for which theinstaller package is to be distributed is not limited to an MFP, whichis explained above as an example, and may be various peripheral devices,such as printers, facsimiles, scanners, and others that are used over anetwork by a plurality of information terminal devices.

Furthermore, the functional units can be realized as acomputer-executable program written in a legacy programming languagesuch as an assembler, C, C++, C#, or Java (registered trademark) or anobject-oriented programming language. Such a computer program is storedin an machine-readable recording medium such as a ROM, an electricallyerasable programmable read-only memory (EEPROM), an erasableprogrammable read-only memory (EPROM), a flash memory, a flexible disk(FD), a compact disk read-only memory (CD-ROM), a compact diskrewritable (CD-RW), a digital versatile disk read-only memory (DVD-ROM),a digital versatile disk random access memory (DVD-RAM), a digitalversatile disk rewritable (DVD-RW), a Blu-ray disk, an SD card, or amagneto-optical (MO) disk, or distributed over an electric communicationcircuit.

According to the configuration described above, an end-user can acquireinformation for acquiring a computer program and configurationinformation required to use a data processing apparatus that the userwants to use by simply going to the data processing apparatus andentering user information for requesting a permission to use the dataprocessing apparatus.

Although the invention has been described with respect to specificembodiments for a complete and clear disclosure, the appended claims arenot to be thus limited but are to be construed as embodying allmodifications and alternative constructions that may occur to oneskilled in the art that fairly fall within the basic teaching herein setforth.

What is claimed is:
 1. A data processing apparatus connected to anetwork, the data processing apparatus comprising: a receiving unitconfigured to receive an input of user information; a determining unitconfigured to determine a destination corresponding to the userinformation; a preparing unit configured to prepare a computer programfor enabling an information terminal device to which the computerprogram is installed to use a data processing function provided by thedata processing apparatus, and configuration information related to thedata processing function; and a transmitting unit configured to transmitinstruction information giving an instruction as to how the computerprogram and the configuration information are acquired to thedestination thus determined over the network.
 2. The data processingapparatus according to claim 1, wherein the configuration informationincludes networking configuration information, and user identificationinformation used in determining whether execution of a process ispermitted when such a process is requested from the data processingfunction.
 3. The data processing apparatus according to claim 2, furthercomprising an identification information issuing unit configured toissue new user identification information for imposing a use restrictionon the data processing function when an application for using the dataprocessing apparatus is submitted through entry of the user information,and is determined to be not submitted by a registered user.
 4. The dataprocessing apparatus according to claim 1, further comprising a storingcontrol unit configured to perform control of storing a packageincluding the computer program in an executable format and theconfiguration information, in a manner secured by any one of accesscontrol and password protection or both, wherein the instructioninformation includes at least one message including security informationfor passing any one of the access control and the password protection orboth.
 5. The data processing apparatus according to claim 1, wherein thetransmitting unit transmits instruction information attached with apackage including the computer program in an executable format and theconfiguration information as the instruction information.
 6. The dataprocessing apparatus according to claim 1, wherein the instructioninformation is distributed to the destination thus determined after anadministrator user approves the computer program.
 7. A non-transitorycomputer-readable recording medium that contains a computer programcausing a computer to function as: a receiving unit configured toreceive an input of user information; a determining unit configured todetermine a destination corresponding to the user information; apreparing unit configured to prepare a computer program for enabling aninformation terminal device to which the computer program is installedto use a data processing function provided by the data processingapparatus, and configuration information related to the data processingfunction; and a transmitting unit configured to transmit instructioninformation giving an instruction as to how the computer program and theconfiguration information are acquired to the destination thusdetermined over a network.
 8. A data processing system comprising: adata processing apparatus; and one or more servers connected to the dataprocessing apparatus over a network, wherein the data processingapparatus comprises a receiving unit configured to receive an input ofuser information entered via an input device included in the dataprocessing apparatus, and the one or more server comprises: adetermining unit configured to determine a destination corresponding tothe user information; a preparing unit configured to prepare a computerprogram for enabling an information terminal device to which such acomputer program is installed to use a data processing function providedby the data processing apparatus, and configuration information relatedto the data processing function; and a transmitting unit configured totransmit instruction information giving an instruction as to how thecomputer program and the configuration information are acquired to thedestination thus determined over the network.